Ext.namespace('pages.role');

pages.role.RoleAdd = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.operType = config.operType;
	this.selectedTreeNode = config.selectedTreeNode;
	this.treeStore = config.treeStore;
	this.parentNode = this.selectedTreeNode.parentNode;
	this.treepanel = config.treepanel;
	this.initUIComponents();
	pages.role.RoleAdd.superclass.constructor.call(this);
};

Ext.extend(pages.role.RoleAdd, Ext.Window, {
	initUIComponents : function() {
		this.form = new Ext.form.FormPanel({
			layout : 'column',
			height : 180,
			labelWidth : 100,
			labelAlign : 'center',
			autoScroll : false,
			border : false,
			frame : false,
			items : [ {
				columnWidth : 1,
				height : 10,
				border : false
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
			}, {
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '角色名称',
					xtype : 'textfield',
					name : 'NAME',
					id : 'NAME'
				} ]
			},{
				columnWidth : 1,
				layout : 'form',
				border : false,
				items : [ {
					fieldLabel : '上级角色名称',
					xtype : 'textfield',
					name : 'PARENT_NAME',
					id : 'PARENT_NAME'
				} ]
			},{
				columnWidth : 1,
				layout : 'form',
				border : false,
				hidden :true,
				items : [ {
					fieldLabel : '上级菜单id',
					xtype : 'textfield',
					name : 'PARENT_ID',
					id : 'PARENT_ID'
				} ]
			}],
			tbar : [ {
				text : '保存',
				iconCls : 'save',
				handler:this.onSave.createDelegate(this)
			}, {
				text : '关闭',
				iconCls : 'close',
				handler:this.onCancel.createDelegate(this)
			} ]
		});

		Ext.apply(this, {
			id : 'menuAddWindow',
			title : '新增角色',
			border : false,
			layout : 'fit',
			style:{
				marginRight: 'auto',
		        marginLeft: 'auto'
			},
			width : 270,
			height : 190,
			modal : true,
			items : [ this.form ],
			listeners:{
				'render' : this.initData.createDelegate(this)
			}
		});
	},
	initData : function() {
		//如果是新增同级菜单，那么当前选择的菜单的父级id，就是新增的菜单的父级id
		if ("tj" == this.operType) {
			Ext.getCmp("PARENT_NAME").setValue(this.parentNode.text);
			Ext.getCmp("PARENT_ID").setValue(this.parentNode.id);
		}
		else{
			Ext.getCmp("PARENT_NAME").setValue(this.selectedTreeNode.text);
			Ext.getCmp("PARENT_ID").setValue(this.selectedTreeNode.id);
		}
	},
	onSave:function(){
		//var id = Ext.getCmp("ID").getValue();
		var name = Ext.getCmp("NAME").getValue();
		var parent_id = Ext.getCmp("PARENT_ID").getValue();
		Ext.getBody().mask("正在保存,请稍候...");
		this.form.getForm().submit({
			method:'post',
			url:ExtJ.getActionPath('/role/addRole.do'),
			params:{
				//id:id,
				name:name,
				parent_id:parent_id
			},
			reset : false,
			success : function(option, action){
				var text = Ext.decode(action.response.responseText);
				this.close();
				if(text.isAddSuc){
					Ext.Msg.alert('提示','保存成功!');
				}else{
					Ext.Msg.alert('提示','保存失败!');
				}
				Ext.getBody().unmask(true);
				this.treepanel.reload();
			}.createDelegate(this)
		});
	},
	onCancel : function(){
		this.close();
	}
});